#include "Date.h"

using namespace std;


int main()
{
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);

	Date d1(2024, 4, 14);
	Date d2 = d1 + 50;
	d1.Print();
	d2.Print();

	d2 -= 50;


	d2 = ++d1;
	d2 += 50;
	d2.Print();
	d1.Print();

	cout << d2 - d1 << endl;

	//这么写才能转换
	//d1.operator<<(cout);
	//d1 << cout;

	//全局以后这么写就可以了 因为参数的前后位置原因
	cout << d1;

	//流提取
	cin >> d1 >> d2;

	//这么写的话返回值应该是cout就可以解决了
	cout << d1 << d2;


	//const 函数问题 修饰的是 Date* this
	//如果函数不写成Print() const 就会有权限的放大问题
	const Date d3(2024, 4, 15);
	d3.Print();
	return 0;
}

